import request from '@/utils/request'

// 获取员工列表
export const getEmployeeList=(params)=>{
  return request.get('/sys/user',params)
}

// 导出（获取）员工excel数据
// 注意：这里从后端获取接收的excel数据是二进制流，不是常规的JSON，所以要对获取到的数据进行流处理，即加上responseType:'blob'，并且该处理逻辑最好写在该接口函数中，而不是响应拦截器，因为只有这个接口需要做流处理，而不是全部都需要，响应拦截器或请求拦截器都做的统一处理而已
export const exportEmployee=()=>{
  return request.get('/sys/user/export',{
    // 改变接收数据的类型
    responseType:'blob'//使用blob接收二进制文件流
  })
}

// 下载（获取）员工导入模版的excel数据
// 注意：这里从后端获取接收的excel数据是二进制流，不是常规的JSON，所以要对获取到的数据进行流处理，即加上responseType:'blob'，并且该处理逻辑最好写在该接口函数中，而不是响应拦截器，因为只有这个接口需要做流处理，而不是全部都需要，响应拦截器或请求拦截器都做的统一处理而已
export const getExportTemplate=()=>{
  return request.get('/sys/user/import/template',{
    // 改变接收数据的类型
    responseType:'blob'//使用blob接收二进制文件流
  })
}

// 导入（上传）员工的excel数据
// 注意：这里传入的data的数据，类型必须为form-data
export const uploadExcel=(data)=>{
  return request.post('/sys/user/import',data)
}

// 删除员工数据
export const delEmployee=(id)=>{
  return request.delete(`/sys/user/${id}`)
}
// 新增员工数据
export const addEmployee=(data)=>{
  return request.post('/sys/user',data)
}

// 获取员工详情数据
export const getEmployeeDetail=(id)=>{
  return request.get(`/sys/user/${id}`)
}

// 修改(编辑)员工数据
export const updateEmployee=(data)=>{
  return request.put(`/sys/user/${data.id}`,data)
}

// 获取可用的员工角色数据
export const getEnableRoleList=()=>{
  return request.get('/sys/role/list/enabled')
}

// 分配员工角色数据
export const assignRole=(data)=>{
  return request.put('/sys/user/assignRoles',data)
}


